1. Field of the Invention
The invention relates generally to apparatus and methods for receiving low level direct sequence spread spectrum signals and more particularly to an apparatus and method for determining the timing of the data bit transitions that avoids the nullifying effect of data bit inversions when accumulating the signal over long time periods.
2. Description of the Prior Art
Direct sequence spread spectrum signals are used for code division multiple access (CDMA) radio communication, and global positioning (GPS) and global navigation satellite (GLONASS) location systems. As an example, the global positioning system is a system using GPS satellites for broadcasting GPS signals having information for determining location and time. Each GPS satellite broadcasts a GPS signal having 20 milliseconds (ms) GPS data bits modulated by a repeating 1 ms pseudorandom noise (PRN) code having 1023 bits or chips. The PRN code for each GPS satellite is distinct, thereby enabling a GPS receiver to distinguish the GPS signal from one GPS satellite from the GPS signal from another GPS satellite. The 20 ms GPS data bits are organized into frames of fifteen hundred bits. Each frame is subdivided into five subframes of three hundred bits each.
Typically, when the GPS receiver is first turned on, it knows its own approximate location, an approximate clock time, and almanac or ephemeris information for the locations-in-space of the GPS satellites as a function of clock time. The GPS receiver processes the approximate clock time, its approximate location, and the almanac or ephemeris information to determine which of the GPS satellites should be in-view; and generates one or more local GPS signals having carrier frequencies and pseudorandom noise (PRN) codes matching the estimated Doppler-shifted frequencies and the PRN codes of one or more of the in-view GPS satellites. The GPS receiver mixes the incoming GPS signal to a Doppler-shifted baseband; correlates the baseband with the PRN code and a PRN code phase of the local GPS signal; and then accumulates the correlations. The process of correlation and accumulation may need to be repeated many times until a correlation level is found that exceeds a correlation threshold indicating GPS signal acquisition.
When signal acquisition is achieved the GPS receiver monitors the GPS data bits until a hand over word (HOW) at the start of the subframe is recognized. The GPS receiver reads time of week (TOW) in the GPS data bits in the HOW to learn a GPS-based clock time accurate to about 20 milliseconds. A current precise location-in-space of the GPS satellite is then calculated from the GPS-based clock time and the ephemeris information. The code phase and data bit transition time of the local GPS signal is then used to calculate a pseudorange between the location of the GPS receiver and the location-in-space of the GPS satellite. Typically, the ephemeris information is retained in memory in the GPS receiver from a previous operational mode or is determined by reading additional GPS data bits. The geographical location fix is derived by linearizing the pseudorange about the range between the location-in-space of the GPS satellite and the approximate location of the GPS receiver and then solving four or more simultaneous equations having the locations-in-space and the linearized pseudoranges for four or more GPS satellites.
The global positioning system is commonly used for determining geographical location and/or time in commercial applications for navigation, timing, mapping, surveying, machine and agricultural control, vehicle tracking, and marking locations and time of events. Given such wide commercial application, it is clear that GPS receivers provide a good value for many users. However, the global positioning system has been limited in several potential applications because existing GPS receivers are unable to process a GPS signal unless the GPS signal has a relatively clear line of sight to the GPS satellites ensuring strong GPS signals. Typically, this is not a problem where the GPS receiver is mounted on a platform such as a ship, airplane, farm tractor, or a vehicle traveling on an open highway. However, the signal strength requirements of GPS receivers make it difficult to use GPS indoors or where the GPS signal may be weak due to the attenuation of passing through buildings or trees.
In order to increase the strength and signal-to-noise ratio of the GPS signal within the GPS receiver, it would be desirable to increase the processing gain above the standard processing gain that occurs by despreading a single epoch of the 1 ms PRN code. For example, a theoretical additional processing gain for integrating (correlating and accumulating) two coherent epochs is 10 log102=3 decibels (dB) and the additional processing gain for one-hundred coherent epochs is 10 log10100=20 decibels (dB). It would seem that one could increase the number of despread epochs indefinitely until enough processing gain is achieved for overcoming the GPS signal attenuation caused by buildings and trees.
However, every 20 ms the C/A PRN code may be inverted with a new GPS data bit. Even after GPS signal power is acquired by determining the Doppler frequency shift of the carrier and phase of the code of the incoming signal are known, unless the timing of the data bits is known the new data bit may invert the correlations at any integer millisecond, thereby nullifying the processing gain for integration times beyond the 1 ms PRN code time period. Accordingly, there is a need for determining the transition times of the GPS data bits in order to provide the processing gain for receiving low level GPS and other direct sequence spread spectrum GPS signals.